<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // promise.then()返回的新promise的结果状态由什么决定?
        // (1) 简单表达: 由then()指定的回调函数执行的结果决定
        // (2) 详细表达:
            // ① 如果抛出异常, 新promise变为rejected, reason为抛出的异常
            // ② 如果返回的是非promise的任意值, 新promise变为resolved, value为返回的值
            // ③ 如果返回的是另一个新promise, 此promise的结果就会成为新promise的结果 

        const p = Promise.resolve("成功").then(value => {
            //console.log(abc);
            //throw "Error!";
            //return "Hello";
            //return Promise.resolve("完成");
            return Promise.reject("失败");
        }, reason => {
            return "Error";
        });


        console.log(p);
    </script>
</body>
</html>